/**
 * Copyright (c) 2016-2019  All rights reserved.
 * <p>
 * <p>
 * <p>
 */

package com.oa.common.utils;

import java.util.HashMap;
import java.util.Map;

/**
 * 常量
 *
 * @author admin
 */
public class Constant {

    public static final String CORPID = "ww8021fa4a14c11931";

    public static final String CORPSECRET = "R4rir0mgXfdfb10AH9h6XDGM0vL5fdmRs0VfvhrP-xM";
    /**
     * 超级管理员ID
     */
    public static final int SUPER_ADMIN = 1;
    /**
     * 普通管理员ID
     */
    public static final int ADMIN = 4;
    /**
     * 普通员工ID
     */
    public static final int EMP = 5;
    /**
     * 企业领导ID
     */
    public static final int LEADER = 6;
    /**
     * 当前页码
     */
    public static final String PAGE = "page";
    /**
     * 每页显示记录数
     */
    public static final String LIMIT = "limit";
    /**
     * 排序字段
     */
    public static final String ORDER_FIELD = "sidx";
    /**
     * 排序方式
     */
    public static final String ORDER = "order";
    /**
     * 升序
     */
    public static final String ASC = "asc";
    /**
     * 当天数据模糊查询
     */
    public static final String DAY = "%Y-%m-%d %H:00:00";
    /**
     * 当月数据模糊查询
     */
    public static final String MONTH = "%Y-%m-dd HH:00:00";
    /**
     * 商品订单字典
     */
    public static final String SHOP_ORDER_STATUS = "SHOP_ORDER_STATUS";

    /**
     * 菜单类型
     *
     * @author sunhui
     * @email admin
     * @date 2016年11月15日 下午1:24:29
     */
    public enum MenuType {
        /**
         * 目录
         */
        CATALOG(0),
        /**
         * 菜单
         */
        MENU(1),
        /**
         * 按钮
         */
        BUTTON(2);

        private int value;

        MenuType(int value) {
            this.value = value;
        }

        public int getValue() {
            return value;
        }
    }

    /**
     * 定时任务状态
     *
     * @author sunhui
     * @email admin
     * @date 2016年12月3日 上午12:07:22
     */
    public enum ScheduleStatus {
        /**
         * 正常
         */
        NORMAL(0),
        /**
         * 暂停
         */
        PAUSE(1);

        private int value;

        ScheduleStatus(int value) {
            this.value = value;
        }

        public int getValue() {
            return value;
        }
    }

    /**
     * 云服务商
     */
    public enum CloudService {
        /**
         * 七牛云
         */
        QINIU(1),
        /**
         * 阿里云
         */
        ALIYUN(2),
        /**
         * 腾讯云
         */
        QCLOUD(3);

        private int value;

        CloudService(int value) {
            this.value = value;
        }

        public int getValue() {
            return value;
        }
    }


    /**
     * 有效状态
     */
    public enum YES_OR_NO {
        /**
         * 是
         */
        YES("0"),

        /**
         * 否
         */
        NO("1");


        private String value;

        YES_OR_NO(String value) {
            this.value = value;
        }

        public String getValue() {
            return value;
        }
    }

    public enum IMAGE_TYPE {
        /**
         * 用户视频
         */
        USER_VIDEO("USER_VIDEO"),
        /**
         * 发现图片
         */
        DISCOVER_IMAGE("DISCOVER_IMAGE"),
        /**
         * 商品列表页图片
         */
        SHOP_LIST_IMAGE("SHOP_LIST_IMAGE"),
        /**
         * 商品图片
         */
        SHOP_IMAGE("SHOP_IMAGE"),
        /**
         * 规格图片
         */
        FORMAT_IMAGE("FORMAT_IMAGE"),
        /**
         * 轮播图
         */
        CAROUSEL_IMAGE("CAROUSEL_IMAGE"),
        /**
         * 商品分类图片
         */
        SHOP_TYPE_IMAGE("SHOP_TYPE_IMAGE"),
        /**
         * 活动图
         */
        ACTIVITY_IMAGE("ACTIVITY_IMAGE");


        private String value;

        IMAGE_TYPE(String value) {
            this.value = value;
        }

        public String getValue() {
            return value;
        }
    }

    /**
     * @Author Ark
     * @Description 人员相关图片表
     * @Date 15:17 2020/4/17 0017
     * @Param
     * @return
     **/
    public enum PNSTION_NAME {
        /**
         * 用户视频
         */
        EMP(0),

        MANAGER(1);


        private int value;

        PNSTION_NAME(int value) {
            this.value = value;
        }

        public int getValue() {
            return value;
        }
    }

    /**
     * @Author Ark
     * @Description 浏览记录分类
     * @Date 15:17 2020/4/17 0017
     * @Param
     * @return
     **/
    public enum VIEW_LIKE_TYPE {
        /**
         * 点赞 0
         */
        LIKE(0),
        /**
         * 浏览 1
         */
        VIEW(1);

        private int value;

        VIEW_LIKE_TYPE(int value) {
            this.value = value;
        }

        public int getValue() {
            return value;
        }
    }

    /**
     * @Author Ark
     * @Description 销售方式
     * @Date 15:17 2020/4/17 0017
     * @Param
     * @return
     **/
    public enum SELL_TYPE {
        /**
         * 主销
         */
        MAIN(0),
        /**
         * 推荐
         */
        RECOMMEND(1);


        private int value;

        SELL_TYPE(int value) {
            this.value = value;
        }

        public int getValue() {
            return value;
        }
    }

    /**
     * @Author Ark
     * @Description 审核状态
     * @Date 17:28 2020/4/22 0022
     * @Param
     * @return
     **/
    public enum AUDIT_STATUS {
        /**
         * 审核通过
         */
        SUCCESS(0),
        /**
         * 待审核
         */
        WAIT(1),
        /**
         * 已驳回
         */
        FAIL(2),
        /**
         * 不需要审核
         */
        UN_AUDIT(3);

        private int value;

        AUDIT_STATUS(int value) {
            this.value = value;
        }

        public int getValue() {
            return value;
        }
    }

    /**
     * @Author Ark
     * @Description 操作类型
     * @Date 10:37 2020/4/28 0028
     * @Param
     * @return
     **/
    public enum LOG_TYPE {
        /**
         * 查看
         */
        VIEW("VIEW"),
        /**
         * 支付
         */
        PAY("PAY"),
        /**
         * 加入购物车
         */
        JOIN_SHOP_CART("JOIN_SHOP_CART"),
        /**
         * 商品详情
         */
        SHOP_INFO("SHOP_INFO"),
        /**
         * 下单已支付
         */
        PAY_SHOP("PAY_SHOP"),
        /**
         * 下单未支付
         */
        UN_PAY_SHOP("UN_PAY_SHOP"),
        /**
         * 主销商品
         */
        MAIN_SHOP("MAIN_SHOP"),
        /**
         * 推荐商品
         */
        RECOMMEND_SHOP("RECOMMEND_SHOP"),
        /**
         * 收藏的商品/卡片
         */
        LIKE_SHOP("LIKE_SHOP"),
        /**
         * 分享
         */
        SHARE("SHARE"),
        /**
         * 个性签名
         */
        SIGN("SIGN");

        private String value;

        LOG_TYPE(String value) {
            this.value = value;
        }

        public String getValue() {
            return value;
        }
    }
    /**
     * @Author Ark
     * @Description 操作模块
     * @Date 10:37 2020/4/28 0028
     * @Param
     * @return
     **/
    public enum LOG_MODULAR {
        /**
         * 商品
         */
        SHOP("SHOP"),
        /**
         * 名片
         */
        CARD("CARD"),
        /**
         * 分类
         */
        CLASSIFICATION("CLASSIFICATION"),
        /**
         * 商品
         */
        BUSINESS("BUSINESS");

        private String value;

        LOG_MODULAR(String value) {
            this.value = value;
        }

        public String getValue() {
            return value;
        }
    }

    /**
     * 上下架状态
     */
    public enum UP_OR_DOWN {
        /**
         * 是
         */
        UP(0),

        /**
         * 否
         */
        DOWN(1);


        private int value;

        UP_OR_DOWN(int value) {
            this.value = value;
        }

        public int getValue() {
            return value;
        }
    }

    /**
     * @Author Ark
     * @Description 用户状态
     * @Date 17:01 2020/5/15 0015
     * @Param
     * @return
     **/
    public enum USER_TYPE {
        /**
         * 普通用户
         */
        USER(0),
        /**
         * 推广者
         */
        PROMOTER(1),
        /**
         * 员工
         */
        EMP(2),
        /**
         * 游客
         */
        TOURIST(3);

        private int value;

        USER_TYPE(int value) {
            this.value = value;
        }

        public int getValue() {
            return value;
        }
    }

    /**
     * @Author Ark
     * @Description 用户状态
     * @Date 17:01 2020/5/15 0015
     * @Param
     * @return
     **/
    public enum ORDER_STATUS {

        /**
         * 未付款
         */
        UN_PAY(0),
        /**
         * 待发货
         */
        WAIT_SEND(1),
        /**
         * 待收货
         */
        WAIT_RECEIVE(2),
        /**
         * 已收货
         */
        SUCCESS(3),
        /**
         * 退款售后
         */
        AFTER_SALE(4),
        /**
         * 已付款
         */
        PAY(5),

        /**
         * 取消订单
         */
        CANCEL_AFTER(6),

        /**
         * 待退款
         */
        WAIT_REFUND(7),
        /**
         * 退款完成
         */
        REFUND_END(8);

        private int value;

        ORDER_STATUS(int value) {
            this.value = value;
        }

        public int getValue() {
            return value;
        }
    }

    /**
     * @Author Ark
     * @Description 折扣类型
     * @Date 15:43 2020/6/2 0002
     * @Param
     * @return
     **/
    public enum REBATE_TYPE {

        /**
         * 满减
         */
        FULL_REDUCTION(0),
        /**
         * 折扣
         */
        PERCENTAGE(1);

        private int value;

        REBATE_TYPE(int value) {
            this.value = value;
        }

        public int getValue() {
            return value;
        }
    }

}
